JSON Formatter v2026.02.11 本地格式化 / 压缩 / 校验 / 排序 / 提取路径
/dev-tools
本地处理 不上传内容 支持容错修复(可选) 适合 API / 日志 / 配置
建议:用于敏感数据时,可断网使用;本工具不会发起上传请求,除统计脚本外不与输入内容交互。
粘贴或输入 JSON
0 字符 0 行
说明:路径提取对“对象结构”更友好。数组用 [n],对象用 .
格式化结果(只读)
就绪 | 耗时 0ms

使用说明

  1. 把 JSON 粘贴到左侧输入框,或点击「上传」选择本地文件。
  2. 点击「格式化」生成带缩进的美化 JSON;点击「压缩」生成单行 JSON,方便传输或嵌入代码。
  3. 需要稳定 diff 或审查配置变化时,勾选「键名排序」;遇到非标准 JSON(单引号、末尾逗号)可勾选「容错修复」。

典型使用场景

  • API 调试:从浏览器 Network 面板或 Postman 复制响应 JSON,粘贴到左侧,快速格式化并排查字段是否缺失或类型不一致。
  • 日志排查:很多服务把结构化日志写成一行 JSON,先用「压缩」确认原始数据,再用「格式化」展开,配合「键名排序」对比多条日志的差异。
  • 配置文件管理:编辑复杂的应用配置(如前端构建配置、服务端特性开关)时,用格式化 + 校验,确保 JSON 结构合法,避免因漏逗号 / 漏引号导致应用启动失败。
  • 团队 Code Review:Review 其他同学提交的大 JSON 配置时,把旧版本和新版本都格式化 + 排序,再在 Git / diff 工具里对比,更容易看出真正变更的字段。

示例:常见 JSON 结构

下面是一个典型的接口响应示例,你可以复制到左侧尝试不同操作:

{
  "code": 0,
  "message": "ok",
  "data": {
    "user": {
      "id": 123,
      "name": "Alice",
      "roles": ["admin", "editor"]
    },
    "meta": {
      "requestId": "f3b8a1de-12ab-4c90-9f38-8888abcd0001",
      "timestamp": 1739097600000
    }
  }
}

你可以尝试:

  • 去掉部分逗号或引号,然后点击「校验」,观察错误提示。
  • 勾选「容错修复」,再点击「格式化」,看看工具能自动修复到什么程度。
  • 勾选「键名排序」,对比排序前后的变化,体会在做 diff 或审查配置时的优势。

编写 JSON 的最佳实践

  • 保持字段命名一致:同一类对象尽量使用统一的字段名(如统一用 userId 而不是有时 id 有时 uid),方便前后端协作和日志检索。
  • 避免嵌套过深:超过 4–5 层的嵌套会显著增加调试成本,可以适当拆分为多个字段或子对象。
  • 显式写出可选字段:对于需要长期维护的配置,建议即便是可选字段,也在 JSON 中给出默认值和注释说明(可在代码中维护注释或文档说明)。
  • 区分机器字段和展示字段:例如同时保留 status(用于代码判断的枚举)和 statusText(用于展示的文案),避免前端在多个页面到处写硬编码。
  • 提交前先格式化 + 校验:无论是 API Mock 数据还是配置文件,提交到仓库前都可以用本工具格式化和校验一遍,减少线上因 JSON 语法错误导致的故障。

常见错误与排查思路

  • 单引号代替双引号:标准 JSON 只支持双引号,后端语言中的对象字面量有时支持单引号,但这在 JSON 中是不允许的,可以先开启「容错修复」。
  • 多写或少写逗号:列表或对象最后一个元素后面多写一个逗号,是最常见的错误之一。利用本工具的错误提示,可以快速定位到出问题的行号。
  • 键名未加引号:如 { id: 1 } 在很多语言里是合法的对象字面量,但在 JSON 中必须写成 { "id": 1 }
  • 数字精度问题:JavaScript 中大整数可能会有精度问题,建议对特别大的 ID 或金额使用字符串类型,并在业务层做解析。

常见问题(FAQ)

这会把我的 JSON 上传到服务器吗?

不会。工具在浏览器里完成解析与输出,不会主动上传内容。上传按钮仅用于从本地选择文件填充输入框。

“容错修复”具体做了什么?会不会误改内容?

容错修复用于把“类 JSON”(如单引号、末尾逗号、未加引号的键名)修成可解析的标准 JSON,以便格式化/压缩/排序输出。它是启发式规则,极端情况下可能产生非预期替换;因此我们把实时校验保持为严格 JSON,并建议你在最终提交/上线前用严格校验再确认一次。

为什么要提供“路径提取”?

调试接口或排查日志时,常见需求是快速定位某个深层字段,例如 data.user.roles[0]。路径提取会把目标字段直接输出为 JSON(对象/数组会保留结构),减少手动展开与复制的成本。

隐私与本地处理说明(更详细)

解析、格式化、压缩、排序、路径提取等操作完全在你的浏览器执行。页面不包含把输入内容提交到后端的逻辑;“上传”仅读取你本地选择的文件文本并填入输入框。页面里可能存在站点统计脚本,但它们不读取你的输入框内容(你也可以断网使用,以进一步降低风险)。

为什么校验失败但我觉得“看起来没问题”?

标准 JSON 只允许双引号、禁止末尾逗号、键名必须加引号。可以开启「容错修复」先修一下再格式化。

排序会改变数组顺序吗?

不会。排序只对对象(Object)的键名排序,不会改数组(Array)元素顺序。

有没有推荐的进一步阅读资料?

如果你想系统了解 JSON 规范和在不同语言里的用法,可以参考:JSON 官方网站、MDN Web Docs 上的 JSON 章节,以及你所使用语言(如 JavaScript、Python、Go)的官方文档中关于 JSON 序列化与反序列化的部分。